/*
 * @Description: 
 * @Version: 2.0
 * @Autor: wangmiao
 * @Date: 2022-09-20 14:38:49
 * @LastEditors: wangmiao
 * @LastEditTime: 2022-09-20 18:27:57
 */

// super作为函数时

// class Parent{
//   constructor() {
//     console.log(new.target.name);
//   }
// }
// class Son extends Parent{
//   constructor() {
//     super(); // 在es6的class类继承中，子类必须调用一次super方法，否则会报错
//   }
// }
// const parent = new Parent(); // Parent
// const son = new Son(); // Son


// super作为对象时

// class Parent{
//   constructor(name) {
//     this.name = name;
//   }
//   getName() {
//     console.log(this.name) // 李四
//   }
// }
// class Son extends Parent{
//   constructor(name, age) {
//     super(name); 
//     this.age = age;
//     this.name = '李四';
//     super.getName();
//   }
// }
// const son = new Son('张三', 23); 


// 通过super对某个属性赋值

class Parent{
  constructor() {
    this.name = '李四';
  }

}
class Son extends Parent{
  constructor() {
    super(); 
    this.name = '张三';
    super.name = '王五';
  }
  getName() {
    console.log(super.name); // undefined
    console.log(this.name); // 王五
  }
}
const son = new Son(); 
son.getName()
